home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 February / Gamestar_81_2006-02_dvd.iso / Red Shark / Common / SandBags.script < prev    next >
Text File  |  2001-12-14  |  7KB  |  269 lines

  1. //-------------------------------------------------------------------
  2. //
  3. //  This code is copyright 2001 by G5 Software.
  4. //  Any unauthorized usage, either in part or in whole of this code
  5. //  is strictly prohibited. Violators WILL be prosecuted to the
  6. //  maximum extent allowed by law.
  7. //
  8. //-------------------------------------------------------------------
  9.  
  10. class CSandBagsMesh
  11. {
  12.   string MeshFile = "Models/B_SandBags.mesh";
  13.   string SkinFile = "Models/B_SandBags.skin";
  14. }
  15.  
  16. class CSandBagsStateControl extends CUnitLifeControl
  17. {
  18.   void CSandBagsStateControl()
  19.   {
  20.     CUnitLifeControl(1500.0);
  21.     m_DestroyPause = 7.5;
  22.     m_ExplosionId  = "EXPLID_SandBagsExplosion";
  23.   }
  24. }
  25.  
  26. // gun
  27. class CArmedSandBagsGun extends CBaseWeaponDescriptor
  28. {
  29.   int    AmmoQuantity      = -1;
  30.   float  BulletSpeed       = 200.0;
  31.   float  FireDeviation     = 0.02;
  32.   string LinkJointName     = "";
  33.  
  34.   string WeaponName        = "Gun";
  35.   float  FireWeaponDelay   = 0.1;
  36.   bool   IsAutotargeting   = false;
  37.   int    AttachSlotNumber  = 1;
  38. }
  39.  
  40. class CGermanArmedSandBagsGun extends CArmedSandBagsGun
  41. {
  42.   string EffectOnFire      = "EFFECTID_ArmedSandBagsGunFireEffect";
  43.   string SoundOnFire       = "SOUNDID_ArmedSandBagsGunFireSound";
  44.   string BulletPatternId   = "BULLETID_GermanArmedSandBagsBullet";
  45. }
  46.  
  47.  
  48. // panzerfaust
  49. class CFaustSandBagsGun extends CBaseWeaponDescriptor
  50. {
  51.   int    AmmoQuantity      = -1;
  52.   float  BulletSpeed       = 400.0;
  53.   float  FireDeviation     = 0.0;
  54.   string LinkJointName     = "";
  55.  
  56.   string WeaponName        = "Faust";
  57.   float  FireWeaponDelay   = 1.0;
  58.   bool   IsAutotargeting   = false;
  59.   int    AttachSlotNumber  = 1;
  60. }
  61.  
  62. class CGermanFaustSandBagsGun extends CFaustSandBagsGun
  63. {
  64.   string EffectOnFire      = "EFFECTID_PanzerFaustFireEffect";
  65.   string SoundOnFire       = "SOUNDID_PanzerFaustFireSound";
  66.   string BulletPatternId   = "BULLETID_GermanPanzerFaustBullet";
  67. }
  68.  
  69. // behavior
  70. class CArmedSandBagsBehavior extends
  71.   CBaseBehavior, CArmedSandBagsFireParameters
  72. {
  73.   bool CanMove = false;
  74.  
  75.   void CArmedSandBagsBehavior()
  76.   {
  77.     CBaseBehavior();
  78.   }
  79. }
  80.  
  81. class CArmedSandBagsFireParameters
  82. {
  83.   boolean  CanFire = true;
  84.  
  85.   int  FirePeriod        = 100; // ms
  86.   int  FirePeriodRandAdd = 100; // ms
  87.  
  88.   int  ShootGunNum       = 1;
  89.  
  90.   bool BurstFire         = true;
  91.   int  BurstTime         = 2000; // ms
  92.   int  BurstTimeRandAdd  = 1000; // ms
  93.  
  94.   int  BurstDelay        = 1000; // ms
  95.   int  BurstDelayRandAdd = 2000; // ms
  96.  
  97. // radar
  98.  
  99.   bool HasRadar           = true;
  100.  
  101.   float MaxRadarDistance = 750; // m
  102.   float MinRadarDistance = 10;   // m
  103.  
  104.   int   UpdateRadarPeriod        = 2000; // ms
  105.   int   UpdateRadarPeriodRandAdd = 1000; // ms
  106.  
  107.   bool  FireFlying = true;
  108.   bool  FireGround = true;
  109. };
  110.  
  111. class CFaustSandBagsBehavior extends
  112.   CBaseBehavior, CFaustSandBagsFireParameters
  113. {
  114.   bool CanMove = false;
  115.  
  116.   void CFaustSandBagsBehavior()
  117.   {
  118.     CBaseBehavior();
  119.   }
  120. }
  121.  
  122. class CFaustSandBagsFireParameters
  123. {
  124.   boolean  CanFire = true;
  125.  
  126.   int  FirePeriod        = 5000; // ms
  127.   int  FirePeriodRandAdd = 1000; // ms
  128.  
  129.   int  ShootGunNum       = 1;
  130.  
  131.   bool BurstFire         = false;
  132.   int  BurstTime         = 2000; // ms
  133.   int  BurstTimeRandAdd  = 1000; // ms
  134.  
  135.   int  BurstDelay        = 1000; // ms
  136.   int  BurstDelayRandAdd = 2000; // ms
  137.  
  138. // radar
  139.  
  140.   bool HasRadar          = true;
  141.  
  142.   float MaxRadarDistance = 750; // m
  143.   float MinRadarDistance = 10;   // m
  144.  
  145.   int   UpdateRadarPeriod        = 2000; // ms
  146.   int   UpdateRadarPeriodRandAdd = 1000; // ms
  147.  
  148.   bool  FireFlying = true;
  149.   bool  FireGround = true;
  150. };
  151.  
  152. class CFaustAntiairSandBagsBehavior extends
  153.   CBaseBehavior, CFaustAntiairSandBagsFireParameters
  154. {
  155.   bool CanMove = false;
  156.  
  157.   void CFaustAntiairSandBagsBehavior()
  158.   {
  159.     CBaseBehavior();
  160.   }
  161. }
  162.  
  163. class CFaustAntiairSandBagsFireParameters
  164. {
  165.   boolean  CanFire = true;
  166.  
  167.   int  FirePeriod        = 3000; // ms
  168.   int  FirePeriodRandAdd = 1000; // ms
  169.  
  170.   int  ShootGunNum       = 1;
  171.  
  172.   bool BurstFire         = false;
  173.   int  BurstTime         = 2000; // ms
  174.   int  BurstTimeRandAdd  = 1000; // ms
  175.  
  176.   int  BurstDelay        = 1000; // ms
  177.   int  BurstDelayRandAdd = 2000; // ms
  178.  
  179. // radar
  180.  
  181.   bool HasRadar          = true;
  182.  
  183.   float MaxRadarDistance = 1000; // m
  184.   float MinRadarDistance = 10;   // m
  185.  
  186.   int   UpdateRadarPeriod        = 2000; // ms
  187.   int   UpdateRadarPeriodRandAdd = 1000; // ms
  188.  
  189.   bool  FireFlying = true;
  190.   bool  FireGround = false;
  191. };
  192.  
  193.  
  194. // Building without ground control (for use in villages)
  195. class CBaseGermanArmedSandBags extends
  196.   CBuilding, CUnitWithStateControl, CArmedUnit, CUnitWithBehavior
  197. {
  198.   void CBaseGermanArmedSandBags()
  199.   {
  200.     InitializeModelAsStatic("CSandBagsMesh");
  201.     CUnitWithStateControl("CSandBagsStateControl");
  202.  
  203.     CreateStaticWeapon("Gun", "CGermanArmedSandBagsGun");
  204.     InitializeVehicleBehavior("CArmedSandBagsBehavior");
  205.  
  206.     Core_AddClassificator(CLASSIFICATOR_NOTVISIBLEONRADAR);
  207.     Core_AddClassificator("German");
  208.   }
  209. }
  210.  
  211. class CBaseGermanFaustSandBags extends
  212.   CBuilding, CUnitWithStateControl, CArmedUnit, CUnitWithBehavior
  213. {
  214.   void CBaseGermanFaustSandBags()
  215.   {
  216.     InitializeModelAsStatic("CSandBagsMesh");
  217.     CUnitWithStateControl("CSandBagsStateControl");
  218.  
  219.     CreateStaticWeapon("Gun", "CGermanFaustSandBagsGun");
  220.     InitializeVehicleBehavior("CFaustSandBagsBehavior");
  221.  
  222.     Core_AddClassificator(CLASSIFICATOR_NOTVISIBLEONRADAR);
  223.     Core_AddClassificator("German");
  224.   }
  225. }
  226.  
  227. class CBaseGermanFaustAntiairSandBags extends
  228.   CBuilding, CUnitWithStateControl, CArmedUnit, CUnitWithBehavior
  229. {
  230.   void CBaseGermanFaustAntiairSandBags()
  231.   {
  232.     InitializeModelAsStatic("CSandBagsMesh");
  233.     CUnitWithStateControl("CSandBagsStateControl");
  234.  
  235.     CreateStaticWeapon("Gun", "CGermanFaustSandBagsGun");
  236.     InitializeVehicleBehavior("CFaustAntiairSandBagsBehavior");
  237.  
  238.     Core_AddClassificator(CLASSIFICATOR_NOTVISIBLEONRADAR);
  239.     Core_AddClassificator("German");
  240.   }
  241. }
  242.  
  243. // Building with ground control
  244. class CMountedGermanArmedSandBags extends CBaseGermanArmedSandBags
  245. {
  246.   void CMountedGermanArmedSandBags()
  247.   {
  248.     InitializeGroundControl();
  249.   }
  250. }
  251.  
  252. class CMountedGermanFaustSandBags extends CBaseGermanFaustSandBags
  253. {
  254.   void CMountedGermanFaustSandBags()
  255.   {
  256.     InitializeGroundControl();
  257.   }
  258. }
  259.  
  260. class CMountedGermanFaustAntiairSandBags extends CBaseGermanFaustAntiairSandBags
  261. {
  262.   void CMountedGermanFaustAntiairSandBags()
  263.   {
  264.     InitializeGroundControl();
  265.     Core_AddClassificator("GroundUnit");
  266.   }
  267. }
  268.  
  269.